apt 使用方法
2025-10-23 22:59:07 [GNU/Linux] [教程]贡献者:Wechox
apt 是 Debian 发行版或其它基于 Debian 的发行版上的软件包管理器,通常在安装系统时默认安装。它可以看作是通过命令行使用的“软件商店”,使用时需要打开一个虚拟终端或终端模拟器,然后在其中输入命令来管理软件。本文以 Debian 13 为例,介绍一些常用的 apt 命令(基本适用于 Debian 系发行版)。
安装/卸载软件等操作需要超级用户权限,需要切换为 root 用户或使用
sudo提权。 推荐使用sudo,下文中所有需要超级用户权限的命令前都会加上sudo(没有sudo的意味着不需要)。在单个终端中首次使用sudo或间隔一段时间后需要输入用户密码。
启用镜像源
官网的软件源通常下载速度比较慢,这时我们可以使用国内的镜像源来加速下载(如果已启用请忽略)。可以在搜索引擎中搜索“xxx(发行版)镜像源”来查找,比如搜索‘Debian 13 镜像源’。
下面是 Debian 的一些推荐的镜像源:
- Debian 清华镜像源
- Debian 中科大镜像源 相应的网页都有关于如何配置的介绍。
更新软件列表
更新软件列表的命令为:
sudo apt update
软件列表相当于一份菜单,告诉 apt 软件仓库中有哪些软件可以安装。任何时候,只要你认为本地的“菜单”与软件源服务器的“菜单”不同步时,都可以更新它。这个命令不会更改你系统中的任何软件,所以它总是“安全”的。通常,在更新软件源后或安装/更新软件前需要更新软件列表。
查找软件
在安装软件前,我们需要知道软件包的具体名字。除非你已经确定了所需软件的完整包名,否则我们通常需要用到以下搜索命令:
apt search xxx
xxx 处应该输入你想搜索的字符,支持正则表达式(需要用英文单引号 '' 或双引号 "" 包起来)。例如 apt search nethack (nethack 是一款运行在终端的地牢类肉鸽游戏)。
然后,我们会进入一个交互式的界面(如果你的 Debian 版本在 12 及以下那么上面的命令会输出一个长长的列表,可以通过滚轮滚动查看)。在这个界面中,可以通过按键来浏览所有匹配的内容,下面是一些常用的按键。
| 按键 | 作用 |
|---|---|
j 或 ↓ |
向下滚动一行 |
k 或 ↑ |
向上滚动一行 |
f |
下一页 |
b |
上一页 |
h |
打开帮助页面(按 q 退出) |
q |
退出当前页面 |
/xxx(按回车) |
在结果中搜索 xxx(xxx 为需要搜索的字符) |
n |
下一个搜索结果 |
N |
上一个搜索结果 |
由于 apt search 是在软件包描述信息中搜索指定字符,所以搜索结果中可能会出现很多我们不需要的包,这时我们可以用上面的 /xxx(加回车)来二次搜索。例如我在 apt search nethack 的搜索结果中输入 /nethack(加回车),得到下图的结果。
在这里我需要的是终端版本的 nethack,也就是图中的 nethack-console,记下这个软件包名,然后按 q 退出。
如果还想查看关于该软件更详细的信息,可以使用下面命令:
apt show xxx
其中 xxx 应为软件包的完整包名。例如,运行 apt show nethack-console 的结果如下图所示:
同样可以使用上面介绍的按键进行浏览和搜索。
安装软件
在知道了软件包的完整包名后就可以安装软件了。安装软件的命令如下:
sudo apt install xxx
xxx 处应该输入软件包的完整包名。例如 sudo apt install nethack-console。这时你会得到类似下图的输出。
其中:
Installing列出正在安装的软件包,Installing dependencies列出需要安装的依赖(会自动安装),Suggested packages列出推荐安装的相关软件包(不会自动安装),Summary是关于安装过程的一些统计信息,Continue? [Y/n]询问是否继续(大写的Y表示默认是y,即 yes)。
然后,按回车或 y 加回车即可开始安装;按 n 加回车即可取消本次安装。如果开始安装,终端中会输出一长串信息,等待命令执行结束就完成安装了。
如果输出
Error信息(通常为红色),意味出现错误,本次安装失败; 如果输出Warnning信息(通常为黄色),意味着有需要注意的信息。
当然,也可以一次安装多个软件包:
sudo apt install xxx yyy zzz
更新软件
一般我们会更新所有的(用 apt 管理的)软件包:
sudo apt upgrade
记得更新软件前先更新软件列表,也可以两者写作一行命令:
sudo apt update && sudo apt upgrade
卸载软件
想要卸载某个特定的软件包可以使用卸载命令:
sudo apt remove xxx
有时,我们想要在卸载软件包的同时把它的配置文件删除(默认不删除配置文件,方便再次安装时保留之前配置),可以加上 --purge 参数:
sudo apt remove --purge xxx
在卸载完某些软件包后,系统中可能存在之前作为依赖被安装的包已经不被需要的情况,这时可以用下面的命令来卸载这些无用的依赖:
sudo apt autoremove
也可以把卸载软件包和无用依赖写作一个命令:
sudo apt autoremove xxx
列出软件列表
可以用下面的命令列出所有软件包(包括已安装和未安装的):
apt list
该命令与查找软件类似,会进入一个可交互的终端界面,可以一样的方式进行浏览和搜索。
此外还可以列出所有已安装软件包:
apt list --installed
或者列出所有手动安装的软件包:
apt list --manual-installed
清理缓存
在每个软件包安装时,都会下载相应的 .deb 包,可以理解为安装包。在完成软件安装后并不会自动删除。在硬盘空间不足时,可以清理这些软件包来节省空间。
运行下面的命令用来清理过时的或已卸载的软件包缓存:
sudo apt autoclean
也可以运行下面的命令来清理全部软件包缓存:
sudo apt clean
软件包缓存的作用有便于版本回退、避免重新安装时再次下载等,但是清除软件包缓存并不会影响已安装的软件,一般情况下可以放心清理。
进阶技巧
extrepo 添加第三方软件源
对于官方软件源中没有的软件包,我们通常可以去相应软件的官网查找适合的软件版本,但是有没有一种方式直接通过 apt 来管理和查找呢?这是就可以使用添加第三方软件源的方式来实现(需要软件提供方支持)。而 extrepo 这个软件包可以很方便地添加一些常见的软件源。
比如,我们想安装 Zotero(一款自由的文献管理工具),通过 apt search zotero 发现 Debian 官方软件源并没有 Zotero 软件的本体。这时我们可以直接去 Zotero 的官网下载相应的安装包,也可以尝试使用 extrepo 添加 zotero 的软件源。
首先,初次使用时要先安装 extrepo:
sudo apt install extrepo
更新 extrepo 软件源元数据:
extrepo update
查找 zotero 软件:
extrepo search zotero
如果有找到相应的软件源,会输出 Found xxx: ……。这里是 Found zotero,所以我们知道了在名为 zotero 的软件源中有 zotero 这个软件包。
接下来启用 zotero 软件源(即上一步中找到的软件源的名称):
sudo extrepo enable zotero
这时,运行 sudo apt update 更新以下软件列表后,就可用通过 apt 来查找、安装和更新 zotero 软件包了。其他的 Debian 官方软件源中没有的软件也可以尝试使用这种方式来安装管理。